ビットで理解するC#の数値入門: 1を足したのになぜ値が増えないの?
「これはどういう本だい?」
「C#の数値がどういうビットで表現されているのかを説明する本だ」
「何か特殊な技術でメモリを読み出しちゃうのかい?」
「いや、数値をバイナリーとして見るなら普通のAPIで読み出せるんだ」
「へー」
「というわけで、不思議な変な挙動は全部ビットに秘密があると解説しているのだ」
「変な挙動って?」
「こんなところだな」
- わざとオーバーフローさせて使う整数
- 移動する小数点
- どこにもないのにあると仮定する1という数字
- 負数の時だけ1つ扱える数値が多い
「不思議だね」
「でも、それは昔からあった。ゲームで所持金が65535を超えると0になるとか。その理由も分かる」
「それもビットで分かるのか」